<?php
//----------------------------------------------------------------------------//
// Class              : Ctl_Sanpham										  //
// Modification       :														  //
//----------------------------------------------------------------------------//
// Date(yyyy.mm.dd)   Developer                       Action				  //
//----------------------------------------------------------------------------//
// 2007.03.05         Oanhhtk                     Created				  //
//----------------------------------------------------------------------------//

class Ctl_Sanpham extends ControlBase
{
    var $modul="";
	//==========================================================================
	// Function    : Ctl_Sanpham
	// Argument    :
	// ReturnValue :
	// Creator     : Oanhhtk 2007.03.08
	// Details     : AppendData record of table
	//==========================================================================
	function Ctl_Sanpham()
	{
	   	 ControlBase::ControlBase();
	}

	//==========================================================================
	// Function    :  execute
	// Argument    :
	// ReturnValue :
	// Creator     : Oanhhtk 2007.03.08
	// Details     : AppendData record of table
	//==========================================================================
 	function execute($action="")
	{
	    global $db;
	    global     $arrayError,$_POST;
	    $arrayData =  array();
	    $this->modul = CM_getParameter(MODUL);
 		if ($action=="")
		{
 			$action = CM_getParameter(ACTION);
 		}
		// Get Data in table Chi tiet
		include_once(DIR_MODEL."md_san_pham.class.php");
		$objModel = new MD_Sanpham($this->db);
 		switch($action)
		{
			case "Delete":
				$id = CM_getParameter("id");
				$this->deleteById($id);
				$this->doShowList();
				break;
			case "Add":
				$this->doAdd();
				break;
			case "Edit":
				$this->doEdit();
				break;
			
			case "ViewHomePage":
				
				$arrayData = $_POST['element'];
				$id_loai_sp = CM_getParameter("id_loai_sp");
				if(isset($_POST['Submit'])){
					
					
					if($this->UpdateHomePage($arrayData,$id_loai_sp)&& $this->UpdateNotHomePage($arrayData,$id_loai_sp)){
						//$this->doShowList();
						CM_gotoPage("?".MODUL."=".$this->modul."&".ACTION."=list&id_loai_sp=".$id_loai_sp."");
					}
				}
				break;					
			case "View":
				$this->doView();
				break;
			case "ShowFormSearchText":
				include_once(DIR_VIEW."v_content_search.php");
				V_ContentSearch($arrayData);			
				break;
			case "SearchText";
				$this->showSearchText();
				break;
			case "Edit_check":
               $this->doEditCheck();
			   break;
			case "Edit_ht":
               $this->doEditShow();
			case "List":
			default : 
			{
				$this->doShowList();
			}
 		}
        unset($arrayData);
	}
	//==========================================================================
	// Function    : doShowList
	// Argument    : none
	// ReturnValue : none
	// Creator     : ThanhTX 2007.06.14
	// Details     : show list School
	//==========================================================================
 	function doShowList(){
		
		$action2 = CM_getParameter(ACTION2);
		$cat_id = CM_getParameter('id_loai_sp');
		//echo "cat_id= ".$cat_id;
		//echo "cat_id =$cat_id";
 		switch($action2){
			case "SearchText";
				$this->showSearchText();
				break;		
			case "SearchProduct":
				$this->SearchProduct();
				break;	
			case "SearchProductResult":
				$this->SearchProductResult();
				break;
			default : 
			
				$listFielsd="*";
				if($cat_id!=""){
					$listWhere="id_loai_sp=".$cat_id."";
				}else{
					$listWhere="";
				}
				
				$listOrderBye="thu_tu asc";
				include_once(DIR_MODEL."md_san_pham.class.php");
				$objSanpham = new MD_Sanpham($this->db);
				$arrayData = $objSanpham->getByWhere($listFielsd,$listWhere,$listOrderBye);
				//print_r($arrayData);
				
				include_once(DIR_VIEW."v_san_pham_list.php");
				include_once(DIR_MODEL."md_cat_san_pham.class.php");
				$objCatSanpham = new MD_CatSanpham($this->db);
				$arrayDataCat = array();
				$arrayDataCat = $objCatSanpham->getByIdforAdmin($cat_id);
				//print_r($arrayDataCat);
				if ($objSanpham->errno())
				{
					  $arrayError[]= $objSanpham->error();
				}
				V_SanphamList($arrayData,$arrayDataCat);
				unset($arrayData,$arrayDataCat);
		}				
		
	}
	//==========================================================================
	// Function    : showSearchText
	// Argument    : 
	// ReturnValue :
	// Creator     :ThanhTX 2007.06.18	
	// Details     : get result of search text anh show 
	// Update 	   :ThanhTX update 2007.06.26
	//==========================================================================
 	function showSearchText(){
		// show result seacrh			
		$array = array();
		$objModel = new MD_Content($this->db);
		// Oanhhtk udpate 2007.06.26
		$textfield = CM_getParameter("textfield");
		$cat_id = CM_getParameter("cat_idS");
		$section_id = CM_getParameter("section_idS");
		$shows = CM_getParameter("showsS");
		$arrayData = $objModel->getForSearchTextAdmin($textfield,$cat_id,$section_id,$shows);
		 // show data
		$status ="onSearch";
		include_once(DIR_VIEW."v_san_pham_list.php");
		V_SanphamList($arrayData, $status);		
		unset($arrayData);	
	}	
	
	//==========================================================================
	// Function    : showSearchText
	// Argument    : 
	// ReturnValue :
	// Creator     :ThanhTX 2007.06.18	
	// Details     : get result of search text anh show 
	// Update 	   :ThanhTX update 2007.06.26
	//==========================================================================
	function SearchProduct(){
		include_once(DIR_MODEL."md_cat_san_pham.class.php");
		$objCatSanpham = new MD_CatSanpham($this->db);
		$arrayDataCat = $objCatSanpham -> getByWhere("*","parent_id = 0","thu_tu asc");
		include_once(DIR_MODEL."md_hang_sx.class.php");
		$objModelHangsx = new MD_Hangsx($this->db);
		$arayDataHangsx = $objModelHangsx -> getByWhere("*","","thu_tu asc");		
		include_once(DIR_VIEW."v_san_pham_search_product.php");
		V_SanphamSearch($arrayDataCat,$arayDataHangsx,"List","SearchProduct");		
		unset($arrayDataCat,$arayDataHangsx);
	}
	
	function SearchProductResult(){
		
		$id_loai =$_POST['id_loai_sp'] ;
		$id_hang = $_POST['id_hang'];
		$tensp = $_POST['tensp'];
		include_once(DIR_MODEL."md_cat_san_pham.class.php");
		$objcatSanpham = new MD_CatSanpham($this->db);
		$arrayDataCat = $objcatSanpham -> getByWhere("*","parent_id = 0","thu_tu asc");
		include_once(DIR_MODEL."md_hang_sx.class.php");
		$objModelHangsx = new MD_Hangsx($this->db);
		$arayDataHangsx = $objModelHangsx -> getByWhere("*","","thu_tu asc");
		
		if($id_loai != 0){
			$arrayDataCatSP = $objcatSanpham -> getByWhere("*","parent_id = ".$id_loai,"");					
		}
		$listCatSP = "";
		if(!empty($arrayDataCatSP)){
			$arrayTemp  = array();
			$i = 0;
			foreach($arrayDataCatSP as $rowCat){
				$arrayTemp[$i] = $rowCat['id'];
				$i ++;
			}
			$listCatSP  = $id_loai.",";
			$listCatSP .= implode(",",$arrayTemp);
		}
		
		include_once(DIR_MODEL."md_san_pham.class.php");
		$objModel = new MD_Sanpham($this->db);
		$arrayData = $objModel -> getForSearchProduct($tensp,$listCatSP,$id_loai,$id_hang);
		
		include_once(DIR_VIEW."v_search_product_result.php");
		
		V_SanphamSearchResult($arrayData,$arrayDataCat,$arayDataHangsx,$id_loai,$id_hang,$tensp);	
		
		unset($arrayData,$arrayDataCat,$arayDataHangsx);
	}
	//==========================================================================
	// Function    : doView
	// Argument    : none
	// ReturnValue : none
	// Creator     : ThanhTX 2007.06.14
	// Details     : show list School
	//==========================================================================
 	function doView(){
		include_once(DIR_VIEW."v_san_pham_view.php");
		include_once(DIR_MODEL."md_san_pham.class.php");
		$id = CM_getParameter("id");
		$objSanpham = new MD_Sanpham($this->db);
		$arrayData = $objSanpham->getFullById($id);
		if(empty($arrayData))
		{
		 $arrayError[]="Không tìm thấy sản phẩm nào."   ;
		}
		V_SanphamAdd($arrayData,"View");
	}
	//==========================================================================
	// Function    : doEditShow
	// Argument    : none
	// ReturnValue : none
	// Creator     : ThanhTX 2007.06.14
	// Details     : show list School
	//==========================================================================
 	function doEditShow(){
		 $strID = CM_getParameter("id");   
		$strHienThi = CM_getParameter("hien_thi");   
		if (!$this->update_ht($strID,$strHienThi))
		{
			$arrayError[]= " Có lỗi trong quá trình cập nhật dữ liệu.";
		} 
	}
	//==========================================================================
	// Function    : doEditCheck
	// Argument    : none
	// ReturnValue : none
	// Creator     : ThanhTX 2007.06.14
	// Details     : show list School
	//==========================================================================
 	function doEditCheck(){
		 $strID = CM_getParameter("id");   
		$strViewhome = CM_getParameter("view_o_trang_chu");   
		if ($this->update_check($strID,$strViewhome))
		{
			$this->doShowList();
			
		}else{
			$arrayError[]= " Có lỗi trong quá trình cập nhật dữ liệu.";
		}
	}
	function UpdateHomePage($arrayData,$id_loai_sp){
		
		global     $arrayError,$_POST;
		include_once(DIR_MODEL."md_san_pham.class.php");
		$objModel = new MD_Sanpham($this->db);
		$objModel->UpdateHomePage($arrayData,$id_loai_sp);
        if ($objModel->errno()){
            $arrayError[]= $objModel->error();
            return false;
        }
        return true;
	}
	
	function UpdateNotHomePage($arrayData,$id_loai_sp){
		
		global     $arrayError,$_POST;
		include_once(DIR_MODEL."md_san_pham.class.php");
		$objModel = new MD_Sanpham($this->db);
		$objModel->UpdateNotHomePage($arrayData,$id_loai_sp);
        if ($objModel->errno()){
            $arrayError[]= $objModel->error();
            return false;
        }
        return true;
	}
	//==========================================================================
	// Function    : doAdd
	// Argument    : none
	// ReturnValue : none
	// Creator     : ThanhTX 2007.06.14
	// Details     : show list School
	//==========================================================================
	 	function doAdd(){
		$action="Add";
		if(!isset($_POST['Submit']))
		{
		   // show form add new
			include_once(DIR_VIEW."v_san_pham_add.php");
			V_SanphamAdd($arrayData,$action);
		}
		else
		{
			// check validating
			if($this->validate() && $this->insert())
			{
				//CM_gotoPage("?".MODUL."=".$this->modul."&".ACTION."=list");
				$this->doShowList();
			}
			else
			{
				include_once(DIR_VIEW."v_san_pham_add.php");
				V_SanphamAdd(&$_POST,"Add",$cat_id);
			}
		}
	}
	//==========================================================================
	// Function    : doEdit
	// Argument    : none
	// ReturnValue : none
	// Creator     : ThanhTX 2007.06.14
	// Details     : show list School
	//==========================================================================
 	function doEdit(){
		include_once(DIR_VIEW."v_san_pham_add.php");
		$id = CM_getParameter("id");
		
		
		if(isset($_POST['submitanh'])){
		   $this->updateanh();
		}
		if(isset($_POST['Submit']))
		{
			if($this->update())
			{
				$this->doShowList();
			}
			else
			{
				$arrayData =  &$_POST;
				V_SanphamAdd($arrayData,"Edit",$cat_id);
			}
		}
		else
		{
			 
			 $id = CM_getParameter("id");
			 $cat_id = CM_getParameter("id_loai_sp");
			 
			 include_once(DIR_MODEL."md_san_pham.class.php");
			 $objSanpham = new MD_Sanpham($this->db);
			 $arrayData = $objSanpham->getById2($id);
			 if(empty($arrayData))
			 {
				 $arrayError[]="Không tìm thấy sản phẩm nào."   ;
			 }
			 V_SanphamAdd($arrayData,"Edit");
		}
	}
 	//==========================================================================
    // Function    : update_ht                                                   //
    // Creator     : Cuong.L.M 2007.03.13                                        //
    // Details     : Update hien_thi field                                    //
    //==========================================================================
    function update_check($strID, $strViewhome)
	{
        global $arrayError, $_FILES;
		include_once(DIR_MODEL."md_san_pham.class.php");
		$objModel = new MD_Sanpham($this->db);		
        $objModel->update_check($strID, $strViewhome);
        if ($objModel->errno())
		{
            $arrayError[]= $objModel->error();
            return false;
        }
        return true;
    }  
	//==========================================================================
    // Function    : update_ht                                                   //
    // Creator     : Cuong.L.M 2007.03.13                                        //
    // Details     : Update hien_thi field                                    //
    //==========================================================================
    function update_ht($strID, $strHienThi)
	{
        global $arrayError, $_FILES;
		include_once(DIR_MODEL."md_san_pham.class.php");
		$objModel = new MD_Sanpham($this->db);		
        $objModel->update_ht($strID, $strHienThi);
        if ($objModel->errno())
		{
            $arrayError[]= $objModel->error();
            return false;
        }
        return true;
    }  
	//==========================================================================
	// Function    : validate
	// Argument    :
	// ReturnValue :
	// Creator     : Oanhhtk 2007.03.09
	// Details     : AppendData record of table
	//==========================================================================
 	function validate()
	{
        global     $arrayError,$_POST;
   		if (trim($_POST["ten_sp"])=="") 
		{
   			$arrayError[]="Tên sản phẩm không được rỗng.";
   			return false;
   		}
        return true;
	}
 	//==========================================================================
	// Function    :  deleteById
	// Argument    :
	// ReturnValue :
	// Creator     : Oanhhtk 2007.03.09
	// Details     : AppendData record of table
	//==========================================================================
 	function deleteById($id)
	{
        global     $arrayError,$_POST;
   		$objModel = new MD_Sanpham($this->db);
   		$objModel->deleteById($id);
     	if ($objModel->errno())
		{
             $arrayError[]= $objModel->error();
             return false;
     	}
     	return true;
	}
	//==========================================================================
	// Function    :  update
	// Argument    :
	// ReturnValue :
	// Creator     : Cuong.L.M  2007.03.28
	// Details     : AppendData record of table
	//==========================================================================
 	function update()
	{
        global     $arrayError,$_POST;
		
   		$objModel = new MD_Sanpham($this->db);
   		$objModel->update(&$_POST);
     	if ($objModel->errno())
		{
             $arrayError[]= $objModel->error();
             return false;
     	}
		else
		{
			//-----------------Goi ham upaloadfile ---------------------------------
			//$this->uploadfile();
			$this->DoUploadFile();
     		return true;
		}
	}
	//==========================================================================
	// Function    : getById2
	// Argument    :
	// ReturnValue :
	// Creator     :Tran Thanh 2007.03.09
	// Details     : AppendData record of table
	//==========================================================================
	function getById_sanpham($id,$listField="*"){
		$sql = "SELECT $listField  FROM $this->tableName  WHERE $this->keyField =$id";
		return $this->db->getFirstRecord($sql);
	}
	//==========================================================================
	// Function    : updateanh
	// Argument    :
	// ReturnValue :
	// Creator     : Oanhhtk 2007.03.08
	// Details     : AppendData record of table
	//==========================================================================
 	function updateanh(){
        global     $arrayError,$_POST;
		include_once(DIR_MODEL."md_san_pham.class.php");
   		$objModel = new MD_Sanpham($this->db);
   		$objModel->updateanh(&$_POST);
     	if ($objModel->errno()){
             $arrayError[]= $objModel->error();
             return false;
     	}
     	return true;
		
	}
	//==========================================================================
	// Function    :
	// Argument    :
	// ReturnValue :
	// Creator     : Oanhhtk 2007.03.08
	// Details     : AppendData record of table
	//==========================================================================
 	function insert()
	{
        global $arrayError,$_POST;
   		$objModel = new MD_Sanpham($this->db);
   		$objModel->insert(&$_POST);
     	if ($objModel->errno())
		{
             $arrayError[]= $objModel->error();
             return false;
     	}
		//-----------------Goi ham upaloadfile ---------------------------------
		$this->DoUploadFile();
     	return true;
	}
}
?>